home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / QuickDraw3D 1.6 SDK / Mac SampleCode New for 1.6 / WorldRayPickSample / Source / WRay_Main.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-20  |  1.9 KB  |  148 lines  |  [TEXT/CWIE]

  1. /* 
  2.  *    WRay_Main.c
  3.  *
  4.  *    QuickDraw 3D 1.6 Sample
  5.  *    Robert Dierkes
  6.  *
  7.  *     07/28/98    RDD        Created.
  8.  */
  9.  
  10. /*------------------*/
  11. /*    Include Files    */
  12. /*------------------*/
  13. #include "QD3D.h"
  14.  
  15. #if defined(OS_MACINTOSH) && OS_MACINTOSH
  16. #include <Fonts.h>
  17. #endif
  18.  
  19. #include "WRay_Error.h"
  20. #include "WRay_Events.h"
  21. #include "WRay_Message.h"
  22. #include "WRay_Menu.h"
  23. #include "WRay_Pick.h"
  24. #include "WRay_Scene.h"
  25. #include "WRay_System.h"
  26.  
  27.  
  28.  
  29. /*----------------------*/
  30. /*    Global Declarations    */
  31. /*----------------------*/
  32. TQ3Boolean        gTimeToQuit;
  33. TDocument        gDocument;
  34.  
  35.  
  36. /*----------------------*/
  37. /*    Local Prototypes    */
  38. /*----------------------*/
  39. static
  40. TQ3Boolean Main_Initialize(
  41.             void);
  42. static
  43. TQ3Boolean Main_Exit(
  44.             void);
  45. static
  46. void    Main_Initialize_Toolbox (
  47.             void);
  48.  
  49.  
  50.  
  51. void main(
  52.         void)
  53. {
  54.     if (Main_Initialize()) {
  55.         Events_Process();
  56.         Main_Exit();
  57.     }
  58. }
  59.  
  60.  
  61. /*
  62.  *    Main_Initialize
  63.  *
  64.  *    Globals:
  65.  *        gDocument
  66.  */
  67. static
  68. TQ3Boolean Main_Initialize(
  69.             void)
  70. {
  71.     gTimeToQuit = kQ3False;
  72.  
  73.     Main_Initialize_Toolbox();
  74.  
  75.     if (Events_Initialize() == false)
  76.         return kQ3False;
  77.  
  78.     if (QuickDraw3D_Initialize() == kQ3False)
  79.         return kQ3False;
  80.  
  81.     Message_Register();
  82.  
  83.     if (Menu_Initialize() == kQ3False)
  84.         return kQ3False;
  85.  
  86.     if (Pick_Initialize() == kQ3False)
  87.         return kQ3False;
  88.  
  89.     if (Document_Initialize(&gDocument) == kQ3False)
  90.         return kQ3False;
  91.  
  92.     /*
  93.      * Menu_InitializeItems() must follow:
  94.      *     Document_Initialize()
  95.      */
  96.     if (Menu_InitializeItems(&gDocument) == kQ3False)
  97.         return kQ3False;
  98.  
  99.     return kQ3True;
  100. }
  101.  
  102.  
  103. /*
  104.  *    Main_Exit
  105.  *
  106.  *    Globals:
  107.  *        gDocument
  108.  *        gTimeToQuit
  109.  */
  110. static
  111. TQ3Boolean Main_Exit(
  112.             void)
  113. {
  114.     if (gTimeToQuit) {
  115.  
  116.         Document_Exit(&gDocument);
  117.  
  118.         (void) Pick_Exit();
  119.  
  120.         (void) QuickDraw3D_Exit();
  121.  
  122.         gTimeToQuit = kQ3False;
  123.     }
  124.  
  125.     return kQ3True;
  126. }
  127.  
  128.  
  129. /*
  130.  *    Main_Initialize_Toolbox
  131.  *
  132.  */
  133. static
  134. void Main_Initialize_Toolbox(
  135.             void)
  136. {
  137.     MaxApplZone();
  138.     MoreMasters();
  139.     MoreMasters();
  140.     MoreMasters(); 
  141.  
  142.     InitGraf(&qd.thePort);
  143.     InitFonts();
  144.     InitWindows();
  145.     InitCursor();
  146. }
  147.  
  148.